package monpkg.rmi;

import java.rmi.Remote;
import java.rmi.RemoteException;
import java.rmi.server.UnicastRemoteObject;
import java.util.UUID;

import monpkg.entities.Session;

/**
 * @author Yannick Bouchot
 * @author Jonathan Romero
 */

@SuppressWarnings("serial")
public class FSessionImpl extends UnicastRemoteObject implements ISessionImpl, Remote {
	private Session session;
	
	protected FSessionImpl() throws RemoteException {
		super();
	}
	/**
	 * Cette fonction permet la creation d'une nouvelle session
	 */
	public void init() throws RemoteException {
		session = new Session();
	}
	/**
	 * Cette fonction permet de se connecter 
	 */
	public void login(String login, String password) throws RemoteException {
		session.login(login, password);
	}
	/**
	 * Cette fonction permet de se deconnecter
	 */
	public void logout() throws RemoteException {
		session.logout();
	}
	/**
	 * Cette fonction permet de recuperer l'id de la session
	 */
	public UUID getIdSession() throws RemoteException {
		return session.getIdSession();
	}
	/**
	 * Cette fonction permet de savoir si la session est connectée ou pas
	 */
	public boolean isConnected() throws RemoteException {
		return session.isConnected();
	}
	/**
	 * Cette fonction permet de savoir si la personne connectée est un admin ou pas 
	 */
	@Override
	public boolean isadmin() throws RemoteException {
		return session.isadmin();
	}

}
